var app = getApp();
var core = app.requirejs('core');
module.exports.number = function(page, e) {
  var number = e.currentTarget.dataset;
  var value = number.value;

  var min = number.hasOwnProperty('min') ? parseInt(number.min) : 1,
    max = number.hasOwnProperty('max') ? parseInt(number.max) : 999;
  if (e.target.dataset.action === 'minus') {
    if (value > 1 && (value > min || min == 0)) {
      value--;
    } else {
      if (min == 0) {
        min = 1;
      }
      this.toast(page, '最少购买' + min + '件')
    }
  } else if (e.target.dataset.action === 'plus') {
    if (value < max || max == 0) {
      value++;
    } else {
      this.toast(page, '最多购买' + max + '件')
    }
  }
  return value;
};

/**
 * 显示底部 toast 必须将view 放于page底部  固定变量名为为 mainuiToast { show: 是否显示 text 显示的文字}
 * <view class="fui-toast {{mainuiToast.show?'in':'out'}}"><view class="text">{{mainuiToast.text}}</view></view>
 *  Page事件：
 *   core.requirejs('mainui').toast(this,text);
 *  text 为显示的的提示
 *
 */
module.exports.toast = function(page, text, duration) {
  if (!duration) {
    duration = 1500;
  }
  page.setData({
    mainuiToast: {
      show: true,
      text: text
    }
  });
  var self = this;
  setTimeout(function() {
    page.setData({
      mainuiToast: {
        show: false
      }
    });
  }, duration);
};

/**
 * 显示顶部 notify 必须将view 放于page底部  固定变量名为为 mainuiNotify { show: 是否显示 text 显示的文字 type 样式}
 * <view class="fui-notify fui-notify-{{mainuiNotify.style}} {{mainuiToast.show?'in':'out'}}"><view class="text">{{mainuiToast.text}}</view></view>
 *  Page事件：
 *   core.requirejs('mainui').notify(this,text,type);
 *   text 为显示的的提示
 *   style 样式 默认 default 其他 primary success danger warning
 *
 */
module.exports.notify = function(page, text, style, duration) {
  if (!duration) {
    duration = 1500;
  }
  if (!style) {
    style = 'default';
  }
  page.setData({
    mainuiNotify: {
      show: true,
      text: text,
      style: style
    }
  });
  var self = this;
  setTimeout(function() {
    page.setData({
      mainuiNotify: {
        show: false
      }
    });
  }, duration);
};